let x = (a:number) => 0;

let xx = (b:number,s:string) => 0

let xxx = (c:number) => 0

// 大的可以兼容小的 小的无法兼容大的,x是xx的子项，所以可以赋值为xx
xx = x
// 只看对应的类型 参数名称相同无所谓
x = xxx 
x = xx // 赋值错误，因为xx有个必需的第二个参数，但是x并没有，所以不允许赋值。